home *** CD-ROM | disk | FTP | other *** search
-
-
-
- TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt((((3333)))) TTTTccccllll ((((7777....0000)))) TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt((((3333))))
-
-
-
- _________________________________________________________________
-
- NNNNAAAAMMMMEEEE
- Tcl_TildeSubst - replace tilde with home directory in a file
- name
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ttttccccllll....hhhh>>>>
-
- char *
- TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt(_i_n_t_e_r_p, _n_a_m_e, _b_u_f_f_e_r_P_t_r) |
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- Tcl_Interp *_i_n_t_e_r_p (in) Interpreter in which to
- report an error, if
- any.
-
- char *_n_a_m_e (in) File name, which may
- start with a ``~''.
-
- Tcl_DString *_b_u_f_f_e_r_P_t_r If needed, this dynamic |
- string is used to store |
- the new file name. At |
- the time of the call it |
- should be uninitialized |
- or empty. The caller |
- must eventually call |
- TTTTccccllll____DDDDSSSSttttrrrriiiinnnnggggFFFFrrrreeeeeeee to free |
- up anything stored |
- here.
- _________________________________________________________________
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This utility procedure does tilde substition. If _n_a_m_e
- doesn't start with a ``~'' character, then the procedure
- returns _n_a_m_e. If _n_a_m_e does start with a tilde, then
- TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt returns a new string identical to _n_a_m_e except
- that the first element of _n_a_m_e is replaced with the location
- of the home directory for the given user. The substitution
- is carried out in the same way that it would be done by _c_s_h.
- If the tilde is followed immediately by a slash, then the
- $$$$HHHHOOOOMMMMEEEE environment variable is substituted. Otherwise the
- characters between the tilde and the next slash are taken as
- a user name, which is looked up in the password file; the
- user's home directory is retrieved from the password file
- and substituted.
-
- If TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt has to do tilde substitution then it uses |
- the dynamic string at *_b_u_f_f_e_r_P_t_r to hold the new string it |
- generates. After TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt returns, the caller must |
- eventually invoke TTTTccccllll____DDDDSSSSttttrrrriiiinnnnggggFFFFrrrreeeeeeee to free up any information |
-
-
-
- Page 1 (printed 7/10/95)
-
-
-
-
-
-
- TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt((((3333)))) TTTTccccllll ((((7777....0000)))) TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt((((3333))))
-
-
-
- placed in *_b_u_f_f_e_r_P_t_r. The caller need not know whether or |
- not TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt actually used the string; TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt |
- initializes *_b_u_f_f_e_r_P_t_r even if it doesn't use it, so the |
- call to TTTTccccllll____DDDDSSSSttttrrrriiiinnnnggggFFFFrrrreeeeeeee will be safe in either case.
-
- If an error occurs (e.g. because there was no user by the
- given name) then NULL is returned and an error message will
- be left at _i_n_t_e_r_p->_r_e_s_u_l_t. It is assumed that _i_n_t_e_r_p-
- >_r_e_s_u_l_t has been initialized in the standard way when
- TTTTccccllll____TTTTiiiillllddddeeeeSSSSuuuubbbbsssstttt is invoked.
-
-
- KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
- file name, home directory, tilde, user
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 2 (printed 7/10/95)
-
-
-
-